/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package mx.edu.itschapala.sistemas.septimo.control;

import mx.edu.itschapala.sistemas.septimo.modelo.*;
import java.util.*;
import mx.edu.itschapala.sistemas.septimo.vista.enumeracion.TipoBusqueda;
/**
 *
 * @author Miguel Romero
 */
public class ProductoLnArreglo implements ProductoLnLocal{
    
    private Producto listaProductos[] = new Producto[100];
	private int indice=0;

	public void registrar(Producto producto){

		if (indice<99) {
		listaProductos[indice]=producto;
		indice++;
		}else{
			System.out.println("No Hay Espacio En Memoria");
		}
	}

	public void modificar(Producto producto){

		int pos=-1;

		for(int x=0;x<indice;x++){

			if (listaProductos[x].getCodigo()==producto.getCodigo()) {
			pos=x;
			}
		}
		if (pos!=-1) {
			while (pos<indice){
				listaProductos[pos]=listaProductos[pos+1];
				pos++;
			}
		}
                indice--;
	}

	public void eliminar(Producto producto){
 
		int pos=-1;

		for(int x=0;x<indice;x++){

			if (listaProductos[x].getCodigo()==producto.getCodigo()) {
			pos=x;
			}
		}
		if (pos!=-1) {
			while (pos<indice){
				listaProductos[pos]=listaProductos[pos+1];
				pos++;
			}
		}
		
	}

	public Producto buscarPorCodigo(int codigo){

	int pos=-1;

		for(int x=0;x<indice;x++){
			if (listaProductos[x].getCodigo()==codigo) {
				pos=x;
			}
		}
		if (pos!=-1) {
			return listaProductos[pos];
		}else{
			return null;
		}
	}

	public List<Producto> getTodos(){

		List<Producto> lista = new ArrayList<Producto>();
		for(int x=0;x<indice;x++){
			lista.add(listaProductos[x]);
		}
		return lista;
	}

    @Override
    public List<Producto> getPorNombre(String Nombre, TipoBusqueda criterio) {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }
        
}
